﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using viBlog.Controllers;

namespace viBlog.Classes
{
    /// <summary>
    /// A utility class to filter blog data
    /// such as to access by date or category or by tag
    /// </summary>
    public class viBlogDataFilter
    {
        public viBlogDataFilter()
        {

        }

        // Copy constructor.
        public viBlogDataFilter(viBlogDataFilter copied)
        {
            FilterType = copied.FilterType;
            Data = copied.Data;
            ItemsCount = copied.ItemsCount;
        }

        private int _FilterId;
        /// <summary>
        /// The FilterId
        /// </summary>
        public int FilterId
        {
            get { return _FilterId; }
            set { _FilterId = value; }
        }
        private DataFilterController.FILTER _FilterType;
        /// <summary>
        /// The Filter Type
        /// </summary>
        public DataFilterController.FILTER FilterType
        {
            get { return _FilterType; }
            set { _FilterType = value; }
        }
        private int _ModuleId;
        /// <summary>
        /// ModuleId this filter is associated with
        /// </summary>
        public int ModuleId
        {
            get { return _ModuleId; }
            set { _ModuleId = value; }
        }
        private string _Data;
        /// <summary>
        /// The filter type specific data
        /// </summary>
        public string Data
        {
            get { return _Data; }
            set { _Data = value; }
        }
        private int _ItemsCount;
        /// <summary>
        /// The count of blog posts to retrieve after applying Filter
        /// </summary>
        public int ItemsCount
        {
            get { return _ItemsCount; }
            set { _ItemsCount = value; }
        }
    }
}
